home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / CodeWarrior Lite / Metrowerks C⁄C++ Lite / Headers / Universal Headers 2.0.1f / SegLoad.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-03-22  |  1.9 KB  |  91 lines  |  [TEXT/MMCC]

  1. /*
  2.      File:        SegLoad.h
  3.  
  4.      Contains:    Segment Loader Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __SEGLOAD__
  21. #define __SEGLOAD__
  22.  
  23.  
  24. #ifndef __TYPES__
  25. #include <Types.h>
  26. #endif
  27. /*    #include <ConditionalMacros.h>                                */
  28.  
  29. #ifdef __cplusplus
  30. extern "C" {
  31. #endif
  32.  
  33. #if PRAGMA_ALIGN_SUPPORTED
  34. #pragma options align=mac68k
  35. #endif
  36.  
  37. #if PRAGMA_IMPORT_SUPPORTED
  38. #pragma import on
  39. #endif
  40.  
  41.  
  42. enum {
  43.     appOpen                        = 0,                            /*Open the Document (s)*/
  44.     appPrint                    = 1                                /*Print the Document (s)*/
  45. };
  46.  
  47. struct AppFile {
  48.     short                            vRefNum;
  49.     OSType                            fType;
  50.     short                            versNum;                    /*versNum in high byte*/
  51.     Str255                            fName;
  52. };
  53. typedef struct AppFile AppFile;
  54.  
  55. /*
  56.     Because PowerPC applications don’t have segments,
  57.     UnloadSeg is unsupported for PowerPC.
  58. */
  59. #if GENERATING68K
  60. extern pascal void UnloadSeg(void *routineAddr)
  61.  ONEWORDINLINE(0xA9F1);
  62. #else
  63. #define UnloadSeg(x)
  64. #endif
  65. #if !GENERATINGCFM
  66. extern pascal void CountAppFiles(short *message, short *count);
  67. extern pascal void GetAppFiles(short index, AppFile *theFile);
  68. extern pascal void ClrAppFiles(short index);
  69. extern pascal void GetAppParms(Str255 apName, short *apRefNum, Handle *apParam)
  70.  ONEWORDINLINE(0xA9F5);
  71. #if CGLUESUPPORTED
  72. extern void getappparms(char *apName, short *apRefNum, Handle *apParam);
  73. #endif
  74. #endif
  75. extern pascal void ExitToShell(void)
  76.  ONEWORDINLINE(0xA9F4);
  77.  
  78. #if PRAGMA_IMPORT_SUPPORTED
  79. #pragma import off
  80. #endif
  81.  
  82. #if PRAGMA_ALIGN_SUPPORTED
  83. #pragma options align=reset
  84. #endif
  85.  
  86. #ifdef __cplusplus
  87. }
  88. #endif
  89.  
  90. #endif /* __SEGLOAD__ */
  91.